/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package interprete;

import java.util.ArrayList;

/**
 *
 * @author lynx
 */
class TablaSimbolos {
    
    ArrayList <Token> tokens;

    TablaSimbolos() {
        tokens = new ArrayList<Token>();
    }
    
    Token buscar(Token t){
        for(Token p: tokens){
            if(t.lexema.compareTo(p.lexema) == 0 && t.tipo() == p.tipo() && p.padre()!=null && t.padre()!=null && p.padre().lexema.compareTo(t.padre().lexema) == 0){
                return p;
            }
        }
        return null;
    }
    Token buscarFuncion(Token t){
        for(Token p: tokens){
            if(t.lexema.compareTo(p.lexema) == 0 && t.tipo() == p.tipo()){
                return p;
            }
        }
        return null;
    }
    
    Token agrega(Token t){
        Token p = buscar(t);
        if(p!=null) {
            t.valor(p.valor());
        }else{
            tokens.add(t);
        }
        return t;
    }

    void asigna(Token t){
        Token p = buscar(t);
        if(p!=null) {
            p.valor(t.valor());
        }else{
            tokens.add(t);
        }
    }
    
}
